#pragma once
#include <game/Config.h>

#include <memory>
#include <xml/Object.h>

ARELLO_GAME_NAMESPACE_DECL_START

class ScreenReference;

class ScreenReferenceDefinition
	: private xml::ObjectANSI
{
private:
	virtual bool on_node( xml::Provider * prov, const std::string & name );
public:
	ScreenReferenceDefinition();
	~ScreenReferenceDefinition();

	xml::ObjectANSI* GetLoader() { return this; }

	ScreenReference* GetScreenReference() { return this->reference.get(); }
	std::auto_ptr<ScreenReference> ReleaseScreenReference() { return this->reference; }
private:
	std::auto_ptr<ScreenReference> reference;
};

ARELLO_GAME_NAMESPACE_DECL_END